﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MIAP.Entidades.Enums;

namespace MIAP.Entidades
{
    /// <summary>
    /// Clase que encapsula la información de un Perfil.
    /// </summary>
    [Serializable]
    public class PerfilInfo
    {
        /// <summary>
        /// Obtiene o establece el id del Perfil.
        /// </summary>
        public int IdPerfil { get; set; }

        /// <summary>
        /// Obtiene o establece el nombre del Perfil.
        /// </summary>
        public string NombrePerfil { get; set; }

        /// <summary>
        /// Obtiene o establece la descripción del Perfil.
        /// </summary>
        public string Descripcion { get; set; }

        /// <summary>
        /// proyecto al que esta asiciado el perfil
        /// </summary>
        public ProyectoInfo Proyecto { get; set; }

        /// <summary>
        /// Permisos asociados al perfil
        /// </summary>
        public List<PermisoInfo> Permisos { get; set; }

        /// <summary>
        /// establece sie l perfil esta activo o inactivo
        /// </summary>
        public bool EstaActivo { get; set; }

        /// <summary>
        /// establece sie l perfil esta activo o inactivo
        /// </summary>
        public string Estatus { get { return Enum.ToObject(typeof(Estatus), Convert.ToByte(EstaActivo)).ToString(); } }
        
        //var activo = Enum.GetName(typeof(Estatus), Estatus.Activo);

        /// <summary>
        /// Obtiene o establece la fecha de creación
        /// </summary>
        public DateTime FechaCreacion { get; set; }
    }
}
